/**************************************************************************************
*
*	Copyright (C) 2009 - 2012 Brent Andrew O. Chua - See LICENSE.txt for more info.
*		
*	Filename	-	LevelOfDetail.h
*
*	Description -	
*
*	Comments	-
*
*	Modification History:
*			Name			   Date					Description
*			MrCodeSushi	-	08/25/2012	-	Creation of this file
**************************************************************************************/
#ifndef _PSX_LEVEL_OF_DETAIL_H_
#define _PSX_LEVEL_OF_DETAIL_H_

#include "PulseSTD.h"
#include "Array.h"

namespace Pulse
{
	class LevelOfDetail
	{
	public:

		~LevelOfDetail( void );

		EErrorCode::Type Add( INDEX_T viewIndex, INDEX_T LODIndex, Geometry *pGeometry );

	private:

		struct LODMap
		{
			Geometry *pGeometry;
		};

		typedef Array<LODMap> LODMapList;

		struct ViewLODMap
		{
			BYTE viewIndex;
			LODMapList LODList;
		};

		typedef Array<ViewLODMap> ViewLODMapList;

		ViewLODMapList m_viewLODList;
	};
}

#endif /* _PSX_LEVEL_OF_DETAIL_H_ */